// let name = 'zs';
// let age = 18;

// let person = {name,age};

// console.log(person);

// //=== == 

// // console.log(Object.is(NaN,NaN))  //true

// // console.log(NaN === NaN)  //false

// console.log(+0 === -0); //true

// console.log(Object.is(+0,-0)) //false

// console.log(Object.is({name:'zs'},{name:'zs'})) //false

// ajax({type:'get',url:'/api/list'})

// function ajax(options){
//     let initConfig = {
//         type:'get',
//         url:'',
//         data:{}
//     }
//     obj = Object.assign({},initConfig,options); //Object.assign()  会修改第一个参数对象,返回的是合并后的对象

//     console.log(obj,initConfig)

// }


let person = {
    name:'lili',
    age:19
};

Object.defineProperty(person,'name',{
    writable:false, //不可写
    enumerable:false, //不可枚举
    configurable:false //不可配置
})

// person.name = 'zs'

delete person.name

//获取对象属性的描述对象
let descritor = Object.getOwnPropertyDescriptor(person,'name');

/**
 * {value: "lili",  属性对应的值
 * writable: true,  属性是否可写
 * enumerable: true, 属性是否可枚举
 * configurable: true 属性是否可配置
 * 
 * set(){
 * },
 * get(){
 * }
 * }
 * 
*/

// for(let key in person){
//     console.log(key)
// }
console.log(person)

//复习双向链表  循环链表

//复习ES6  数组和对象新增的方法

//1.双向链表  循环链表  周考可能会考



